package com.stylefeng.guns.modular.system.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author stylefeng
 * @since 2020-09-09
 */
@TableName("recommend")
public class Recommend extends Model<Recommend> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "recommend_id", type = IdType.AUTO)
    private Integer recommendId;
    @TableField("device_token")
    private String deviceToken;
    /**
     * 邀请用户
     */
    @TableField("invite_user")
    private Integer inviteUser;
    /**
     * 邀请用户名
     */
    @TableField("invite_user_name")
    private String inviteUserName;
    /**
     * 被邀请用户
     */
    @TableField("target_user")
    private Integer targetUser;
    /**
     * 被邀请用户名
     */
    @TableField("target_user_name")
    private String targetUserName;
    /**
     * 0 未领取 1 已领取 2 已消费
     */
    private Integer status;
    /**
     * 分享发生时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 领取时间
     */
    @TableField("take_time")
    private Date takeTime;
    /**
     * 失效时间
     */
    @TableField("invalid_time")
    private Date invalidTime;


    public Integer getRecommendId() {
        return recommendId;
    }

    public void setRecommendId(Integer recommendId) {
        this.recommendId = recommendId;
    }

    public String getDeviceToken() {
        return deviceToken;
    }

    public void setDeviceToken(String deviceToken) {
        this.deviceToken = deviceToken;
    }

    public Integer getInviteUser() {
        return inviteUser;
    }

    public void setInviteUser(Integer inviteUser) {
        this.inviteUser = inviteUser;
    }

    public String getInviteUserName() {
        return inviteUserName;
    }

    public void setInviteUserName(String inviteUserName) {
        this.inviteUserName = inviteUserName;
    }

    public Integer getTargetUser() {
        return targetUser;
    }

    public void setTargetUser(Integer targetUser) {
        this.targetUser = targetUser;
    }

    public String getTargetUserName() {
        return targetUserName;
    }

    public void setTargetUserName(String targetUserName) {
        this.targetUserName = targetUserName;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getTakeTime() {
        return takeTime;
    }

    public void setTakeTime(Date takeTime) {
        this.takeTime = takeTime;
    }

    public Date getInvalidTime() {
        return invalidTime;
    }

    public void setInvalidTime(Date invalidTime) {
        this.invalidTime = invalidTime;
    }

    @Override
    protected Serializable pkVal() {
        return this.recommendId;
    }

    @Override
    public String toString() {
        return "Recommend{" +
        "recommendId=" + recommendId +
        ", deviceToken=" + deviceToken +
        ", inviteUser=" + inviteUser +
        ", inviteUserName=" + inviteUserName +
        ", targetUser=" + targetUser +
        ", targetUserName=" + targetUserName +
        ", status=" + status +
        ", createTime=" + createTime +
        ", takeTime=" + takeTime +
        ", invalidTime=" + invalidTime +
        "}";
    }
}
